fc77e2c99d0da9b05ea0a62234a5ac51fef9b963,hazelcast/src/main/java/com/hazelcast/instance/HazelcastInstanceFactory.java,HazelcastInstanceFactory,newHazelcastInstance,#Config#String#NodeContext#,122

Before Change


        }

        try {
            HazelcastInstanceProxy hz = constructHazelcastInstance(config, name, nodeContext);
            future.set(hz);
            return hz;
        } catch (Throwable t) {
            INSTANCE_MAP.remove(name, future);
            future.setFailure(t);

After Change


            name = createInstanceName(config);
        }

        InstanceFuture future = new InstanceFuture();
        if (INSTANCE_MAP.putIfAbsent(name, future) != null) {
            throw new DuplicateInstanceNameException("HazelcastInstance with name '" + name + "' already exists!");
        }

        try {
            return constructHazelcastInstance(config, name, nodeContext, future);
        } catch (Throwable t) {
            INSTANCE_MAP.remove(name, future);
            future.setFailure(t);